None
Not Applicable
The present invention is related to the field of computer data storage systems.
Devices known as integrated cached disk arrays (ICDAs) have been used for high-capacity data storage in computer systems. ICDAs typically include a number of disks and associated disk interfaces, a number of interfaces to host computers in the computer system, memory for implementing a data cache between the disks and the hosts so as to reduce overall data access times and therefore enhance system performance, and interconnections among the disk interfaces, host interfaces, and memory to provide paths for data transfers.
Although a typical ICDA has a very large maximum storage capacity, there are nonetheless applications in which more storage than that provided by a single ICDA is required. It has been known to attach multiple ICDAs and other devices to a specialized network termed a xe2x80x9cstorage area networkxe2x80x9d or SAN. Host computers connected to the SAN potentially have access to all the storage residing on the ICDAs of the SAN. The use of a SAN therefore provides a degree of xe2x80x9cscalabilityxe2x80x9d, or the ability to add storage to a computer system incrementally. Nevertheless, each ICDA in such a case must include all the functionality required to store data and transfer stored data to and from the SAN. Thus, SAN-based scaling of storage capacity includes expanding overhead functionality that may result in sub-optimal system storage densities, costs, or other important characteristics.
Additionally, the volumetric storage density of rotating media such as magnetic disks continues to grow at a rate substantially greater than the density growth rate of semiconductor memory and logic. Existing ICDAs have been designed to meet a range of system needs based on the present relationship between the density of magnetic media and that of semiconductor memory. In particular, an ICDA may have a maximum number of host interfaces that is suitable for its present maximum disk storage capacity. However, over time it may be desirable to increase the number of host interfaces per unit of disk storage on a SAN, or to increase the amount of memory per unit of disk storage. With present ICDAs, it may be difficult or impossible to achieve the desired ratios for sufficiently large data sets.
It is desirable, therefore, to provide for greater flexibility in configuring data storage systems employing ICDAs, so as to achieve desired system performance while optimizing any necessary tradeoffs between cost, space, and other important characteristics of a storage system.
In accordance with the present invention, a storage system cluster architecture is disclosed that provides improved performance over previous systems, and enhanced flexibility so as to be adaptable for use in many different applications.
A storage system employing the disclosed cluster architecture includes multiple integrated cached disk arrays (ICDAs), wherein selected ICDAs include respective sets of data storage disks that are collectively configured as a set of separately-addressable cluster volumes. A cluster interconnection network such as a set of Fiber Channel links connects the ICDAs of the cluster together. Each ICDA includes a switch network that provides dynamic connections between the cluster interconnection network and functional elements within the ICDA, such as host interfaces, disk interfaces, and memory modules that are used for caching of disk data.
At least one ICDA in the cluster includes one or more host interfaces at which host data storage requests are received. In response to receiving a request from a host, this ICDA determines whether the target disk for the request resides within another ICDA in the cluster. If so, the host request is forwarded to the second ICDA via the cluster interconnection network for servicing. The second ICDA includes one or more disk interfaces respectively interfacing to disks within the second ICDA. The second ICDA receives the forwarded host request from the first ICDA via the cluster interconnection network, services the request via the disk interface coupled to the target disk, and returns an indication to the first ICDA that the host request has been serviced. Upon receiving this indication, the first ICDA returns an indication to the requesting host that the request has been serviced. In the case of reads, of course, the indication of completion is the return of the requested read data. For writes, the indication may take the form of a xe2x80x9cwrite completexe2x80x9d message that frees the host to proceed with other processing.
The cluster approach unburdens hosts from physical details of the distribution of disk volumes among a number of ICDAs. From the perspective of each host, all the cluster volumes appear to reside on the ICDA to which the host is attached. This architecture also provides for smooth upgrading of storage systems, by providing much greater flexibility in the distribution of resources. It is possible, for example, to add additional disk capacity to a cluster by adding an ICDA that contains only disks and disk interfaces, whereas in prior systems it was necessary that each ICDA include host interfaces as well in order to provide the necessary connectivity to the existing hosts.
The different ICDAs may incorporate additional features that enable other host requests to flow from the second ICDA to the first ICDA, for example. The ICDAs may also include memory that can be used for caching of data associated with the requests. To provide for even greater flexibility, the switch network has a common interface to different types of functional elements such as the host interfaces, the disk interfaces, and the memory, so that a wide variety of configurations of these elements can be employed in any given ICDA. ICDAs can be configured as special purpose units in a cluster, such as units that contain primarily disks, or as more general purpose units that cooperate as multi-function peers with other ICDAs in the cluster.
Other aspects, features, and advantages of the present invention are disclosed in the detailed description that follows.